package com.ihr360.cnb.module.oneclick.service.fallback;

import cn.irenshi.entity.account.WebUserSimpleEntity;
import com.ihr360.cnb.module.oneclick.service.IrenshiDubboProviderService;
import com.ihr360.commons.entity.AuthUserInfo;
import com.ihr360.commons.exception.Ihr360Exception;
import com.ihr360.entity.ApplicationApprovalEntity;
import com.ihr360.entity.BasicStaffCurrentSalaryInfo;
import com.ihr360.entity.IrsStaffSalaryProfile;
import com.ihr360.entity.StaffBankSalaryEntity;
import com.ihr360.insurance.entity.vo.IrenshiBenefitSimpleVo;
import com.ihr360.insurance.entity.vo.StaffBenefitEntity;
import com.ihr360.oneclick.modal.OneClickStaff;
import com.ihr360.oneclick.vo.StaffMonthMessageVo;
import com.ihr360.oneclick.vo.WechatStaffInfoVo;
import com.ihr360.payroll.entity.staff.StaffSalaryEntity;
import com.ihr360.payroll.request.ApplicationApprovalRequest;
import com.ihr360.payroll.request.attendance.AttendanceTakeNumberRequest;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Component
public class IrenshiDubboProviderServiceFallback implements IrenshiDubboProviderService {

    @Override
    public Map<String, String> registerStaffRecordAppUser(@RequestBody List<OneClickStaff> oneClickStaffList) {
        return new HashMap<>();
    }

    @Override
    public List<String> getSalaryMonthList(@RequestBody AuthUserInfo authUserInfo) {
        return null;
    }

    @Override
    public StaffMonthMessageVo getSalaryDetail(@RequestBody AuthUserInfo authUserInfo, @RequestParam(value = "monthly") String monthly) {
        return null;
    }

    @Override
    public WechatStaffInfoVo getStaffInfo(@RequestBody AuthUserInfo authUserInfo) {
        return null;
    }

    @Override
    public List<String> getIrsSalaryProbationCompanyIds() {
        return null;
    }

    @Override
    public List<IrsStaffSalaryProfile> getIrsSalaryProfile(String companyId) {
        return null;
    }

    @Override
    public List<BasicStaffCurrentSalaryInfo> findStaffSalaryInfoExceptStaffids(String companyId, List<String> exitStaffIds) {
        return null;
    }

    @Override
    public Map<String, Integer> getUnapprovedCount(String companyId, AttendanceTakeNumberRequest request) {
        return null;
    }

    @Override
    public void saveStaffSalaryInfo(StaffSalaryEntity staffSalaryEntity) {
        throw new Ihr360Exception(null, "保存员工薪资数据异常");
    }

    @Override
    public List<IrenshiBenefitSimpleVo> queryBenefitList(String companyId) {
        throw new Ihr360Exception(null, "i人事福利设置查询异常");
    }

    @Override
    public void saveStaffInsuranceInfo(String companyId, StaffBenefitEntity staffBenefitEntity) {
        throw new Ihr360Exception(null, "保存员工社保公积金数据异常");
    }

    @Override
    public String getStaffName(String staffId) {
        return null;
    }

    @Override
    public ApplicationApprovalEntity submitApproval(ApplicationApprovalRequest applicationApprovalRequest) {
        throw new Ihr360Exception(null, "福利提请审批异常");
    }

    @Override
    public List<WebUserSimpleEntity> getWebUsers(@RequestParam String companyId) {
        throw new Ihr360Exception(null, "获取公司所有用户数据失败");
    }

    @Override
    public List<String> getAllCompanyIds(String lastId, Integer limit) {
        throw new Ihr360Exception(null, "获取所有公司数据失败");
    }

    @Override
    public List<StaffBankSalaryEntity> getCompanyStaffInfo(String companyId) {
        throw new Ihr360Exception(null, "获取公司员工银行卡、福利信息失败");
    }
}
